package org.lanqiao.tjut.testpractice0728;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;

import org.junit.Test;

public class TestDriver {
	
	/*
	 * 【程序10】    
	 * 题目：一球从100米高度自由落下，每次落地后反跳回原高度的一半；
	 *  再落下，求它在    
	 * 第10次落地时，共经过多少米？第10次反弹多高？
	 */
	@Test
	public void test01() {
		double h = 100.0;
		double l = 0;
		boolean isFlag = true;
		int k = 0;
		while (k < 10) {
			if (k == 0) {
				l = h + 100;
			}
			h = h / 2.0;
			k++;
			l = l + h;
			System.out.println(" "+k+" "+l);
		}
		System.out.println("第 " + k + " 次反弹高度为：" + h + "\n总路程：" + l);
	}

	/*
	 * 【程序11】    
	 * 题目：有1、2、3、4四个数字，能组成多少个互不相同且无重复数字的三位数？都是多少？  
	 * 123\124\134\213\214\234\312\314\324\412\413\423 
	 */
	@Test
	public void test02(){
		int i,j,k;
		//计数
		int count=0;
		//存放三位数
		int num=0;
		//使用三层for循环遍历1、2、3、4，从中选出三个互不相同的数，进行构建三位数
		for(i=1;i<=4;i++){
			for(j=1;j<=4;j++){
				for(k=1;k<=4;k++){
					//当三个数互不相等时，构建并输出三位数
					if(i!=j && i!=k && j!=k){
						num=100*i + 10*j +k;
						String n= ""+i+j+k;
						System.out.print(" "+num+"--"+n);
						count++;
					}
				}
			}
		}
		//换行
		System.out.println();
		System.out.println("可以组成 "+count+" 个互不相同且无重复的数");
	}

	
	/*
	 * 【程序13】   ??? 
	 * 题目：一个整数，它加上100后是一个完全平方数，再加上168又是一个完全平方数，请问该数是多少？
	 */
	 @Test
	 public void test03(){
		 int i = 0;
		 while(true){
			
			 int a=(int) Math.sqrt(i+100);
			 int b=(int) Math.sqrt(i+168);
			 if((a*a==(i+100)) && (b*b == (i+168))){
				System.out.println(" "+i); 
				//break;
			 }
			 i++;
		 }
	 }

	/*
	 * 【程序15】    题目：输入三个整数x,y,z，请把这三个数由小到大输出。 
	 */
	@Test
	public void test04() {
		int x, y, z;
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个数");
		x = sc.nextInt();
		System.out.println("请输入一个数");
		y = sc.nextInt();
		System.out.println("请输入一个数");
		z = sc.nextInt();
		// 判断大小排序
		if (x < y) {
			if (y < z) {
				System.out.println(x + "  " + y + "  " + z);
			} else if (x < z) {
				System.out.println(x + "  " + z + "  " + y);
			} else {
				System.out.println(z + "  " + x + "  " + y);
			}
		} else {
			// y<x
			if (x < z) {
				System.out.println(y + "  " + x + "  " + z);
			} else if (y < z) {
				System.out.println(y + "  " + z + "  " + x);
			} else {
				System.out.println(z + "  " + y + "  " + x);
			}
		}
	}

}
